#pragma once
#include <core/types.h>

#define MAX_BH_LEN   MB(1)

// Init Functions:
int GtInitSoC(void);
int GtInitUart(void);
int GtInitMemCtrl(void);
int GtInitNand(void);

// UART Operations:
UINT8 GtUartReadByte(void);
void  GtUartWriteByte(UINT8 bData);


// APIs:
void GtReadBoardID(void);

void ReadID(void);


typedef int (*READY_FUNC)(void);
int GtNandDriverInit(UINT32 dwCmmd, UINT32 dwAddr, UINT32 dwData, READY_FUNC NandIsReady);

int GtNandLoad(void);

int GtSerialLoad(void *pMemStart);

void UartPuts(const char *pStr);

int puts(const char *);

void Hang(void);
